
package com.joysuch.wwyt.bp.bean.facility;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.joysuch.wwyt.bp.bean.BaseAttachmentDto;
import com.joysuch.wwyt.mh.bean.MhMonitoringPointBean;
import lombok.Data;

import javax.validation.constraints.Pattern;
import java.util.Date;
import java.util.List;

@Data
public class BpProductionAddBean {

    // {"code":"tyt4567","name":"juyt","equipmentModel":"yt543","functions":"765tg","productionAbility":"y6",
    // "technicalCondition":"76","majorHazardId":72,"belongNum":"ZW00000032","location":"","type":3,"departId":2,"state":0,"keyEquipment":"N","monitorIds":[1]}
    private Long id;
    // 装置编号
    @NotNull(field = "装置编号")
    private String code;
    // 装置名称
    @NotNull(field = "装置名称")
    private String name;
    // 设备型号
    private String equipmentModel;
    // 装置功能
    private String functions;
    // 装置生产能力
    private String productionAbility;
    // 装置技术条件
    private String technicalCondition;
    // 所属重大危险源单元
    private Long majorHazardId;
    // 所属重大危险源单元编号
    private String belongNum;
    // 装置位置
    // @NotNull(field = "装置位置")
    private String location;
    // 装置类型
    private Long type;
    // 所属部门
    private Long departId;
    // 装置状态
    private Integer state;
    // 是否关键装置
    @Pattern(regexp = "[YNyn]")
    private String keyEquipment;
    // 关联监测点
    private Long[] monitorIdss;
    private List<MhMonitoringPointBean> mhMonitoringPointBean;

    // 维修状态
    private Integer repairState;
    // 所在部位
    private String deviceLocation;
    // 所属区域
    private Long riskDistrictId;
    // 负责人
    private Long personInChargeId;
    // 负责人部门
    private Long picDepartId;
    // 生产日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private java.util.Date manufactureDate;
    // 投用日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private java.util.Date putIntoUseDate;
    // 使用期限（月）
    private Integer serviceLifeMonths;
    // 保养周期（天）
    private Integer maintainPeriodDays;
    //到期时间
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date validityDate;
    // 提前提醒（天）
    private Integer remindAheadDays;
    // 生命周期
    private String lifecycle;
    // 报废日期
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private java.util.Date scrapDate;
    // 登记人
    private Long scrapRegisterUserId;
    // 登记时间
    private java.util.Date scrapRegisterTime;
    // 附件
    private Long scrapAttachmentId;
    // 报废说明
    private String scrapDescription;
    //是否是安全装置
    private String safeStatus;

    //设备装置位号
    private String tagNumber;
    //供应商
    private String supplier;
    //检查周期
    private Integer inspectionDays;
    //检测周期
    private Integer detectDays;

    //绑定以及解绑监测点ids
    private List<Long> monitorPointIds;
    //关联的证书信息List
    private List<BaseAttachmentDto>  baseAttachmentDtoList;

    //绑定的摄像头
    private List<Long> systemVideoIds;

}
